General purpose processors are becoming increasingly common in applications that required special purpose processors only a few years ago. Previously, only special purpose processors had the power needed to perform complex tasks (i.e., these processors were usually optimized to perform a specific type of function, such as complex number calculations or vector arithmetic). A major problem with special purpose processors is that their cost per unit is very high and they have to be redesigned and re-implemented in order to take advantage of improvements in the art. As general purpose processors become faster and are able to do more, the cost savings of general purpose processors in many applications far outweighs the benefits of special purpose processors. One such application that can benefit from such cost reduction is digital signal processing.
Digital signal processing is used in diverse applications in diverse industries. For example, the telephone industry is using digital signal processing in applications such as recognition of spoken telephone numbers, credit card numbers, name recognition for telephone dialing, and speaker verification for credit card authorization. The computer industry is using digital signal processing in applications such as word recognition in speech-to-text applications, command control, and speaker verification for authorization of use. Two universal problems faced by all digital signal processing applications are that it requires large amounts of processing power and large amounts of high-speed memory.
In current architectures, digital signal processing is primarily performed by dedicated digital signal processing integrated circuits. Such digital signal processors are usually designed for one task alone, that is, performing all of the multiplications, accumulations, and comparisons necessary to provide the speech-to-text, word spotting, or speaker verification required by the application. Such single-function processors are expensive to make, because every change or improvement requires a new integrated circuit to be designed. Since the industry is moving so rapidly, such designs are constantly churning through the manufacturing process.
Digital signal processing is also very memory intensive. Large amounts of data are stored to be processed for each particular application. In addition, there are usually one or more large data dictionaries for comparison to digitized speech in order to provide the word spotting, text-to-speech, etc. As a result, very large memory structures are used in digital signal processing applications.
Such dedicated processing and large memory structures generally require complex bus structures in order to connect everything together and to coordinate complex operations, such as loading the memory with the speech to be recognized/verified, processing the speech and comparing it to known samples. These structures are even more complex when there is more than one digital signal processor working on the speech at the same time, as is frequently the case.
Therefore, a problem in the art is that there is no inexpensive digital signal processor and memory structure which can provide the processing abilities of dedicated digital signal processors without the cost of custom design.